:root {
  --bs-gradient--color-blue: var(--bs-blue);
  --bs-gradient--color-indigo: var(--bs-indigo);
  --bs-gradient--color-purple: var(--bs-purple);
  --bs-gradient--color-pink: var(--bs-pink);
  --bs-gradient--color-red: var(--bs-red);
  --bs-gradient--color-orange: var(--bs-orange);
  --bs-gradient--color-yellow: var(--bs-yellow);
  --bs-gradient--color-green: var(--bs-green);
  --bs-gradient--color-teal: var(--bs-teal);
  --bs-gradient--color-cyan: var(--bs-cyan);
  --bs-gradient--color-black: var(--bs-black);
  --bs-gradient--color-white: var(--bs-white);
  --bs-gradient--color-gray: var(--bs-gray);
  --bs-gradient--color-gray-dark: var(--bs-gray-dark);
  --bs-gradient--color-gray-100: var(--bs-gray-100);
  --bs-gradient--color-gray-200: var(--bs-gray-200);
  --bs-gradient--color-gray-300: var(--bs-gray-300);
  --bs-gradient--color-gray-400: var(--bs-gray-400);
  --bs-gradient--color-gray-500: var(--bs-gray-500);
  --bs-gradient--color-gray-600: var(--bs-gray-600);
  --bs-gradient--color-gray-700: var(--bs-gray-700);
  --bs-gradient--color-gray-800: var(--bs-gray-800);
  --bs-gradient--color-gray-900: var(--bs-gray-900);
  --bs-linear-gradient-color: var(--bs-gradient--color-indigo), var(--bs-gradient--color-pink), var(--bs-gradient--color-yellow), var(--bs-gradient--color-green), var(--bs-gradient--color-blue), var(--bs-gradient--color-cyan);
  --bs-linear-gradient-start: linear-gradient(to left, var(--bs-linear-gradient-color));
  --bs-linear-gradient-top: linear-gradient(to top, var(--bs-linear-gradient-color));
  --bs-linear-gradient-end: linear-gradient(to right, var(--bs-linear-gradient-color));
  --bs-linear-gradient-bottom: linear-gradient(to bottom, var(--bs-linear-gradient-color));
  --bs-linear-gradient-start-reverse: linear-gradient(to right, var(--bs-linear-gradient-color));
  --bs-linear-gradient-top-reverse: linear-gradient(to bottom, var(--bs-linear-gradient-color));
  --bs-linear-gradient-bottom-reverse: linear-gradient(to top, var(--bs-linear-gradient-color));
  --bs-linear-gradient-end-reverse: linear-gradient(to left, var(--bs-linear-gradient-color));
  --animation--hue: hue 3s linear infinite alternate;
}

:root, [data-bs-theme=light] {
  --theme-color: #4c0bce;
  --text-color: #000;
  --link-color: #000;
  --button-color: #000;
  --button-border-color: #000;
  --border-color: #000;
}

[data-bs-theme=dark] {
  --theme-color: #4c0bce;
  --text-color: #fff;
  --link-color: #fff;
  --button-color: #fff;
  --button-border-color: #fff;
  --border-color: #fff;
}

:root {
  --bs-font-family-lxgw-wenkai: "LXGW Wenkai";
  --bs-font-family-lxgw-wenkai_light: "LXGW Wenkai Light";
  --bs-font-family-lxgw-wenkai_mono: "LXGW Wenkai Mono";
  --bs-font-family-lxgw-wenkai_mono_light: "LXGW Wenkai Mono Light";
}

html {
  scrollbar-width: var(--scrollbar-width);
}

html::-webkit-scrollbar {
  width: var(--webkit-scrollbar-width);
}

html,
body {
  --bs-font-family-lxgw: var(--bs-font-family-lxgw-wenkai);
  --bs-font-family-lxgw-mono: var(--bs-font-family-lxgw-wenkai_mono);
  --bs-body-font-family: var(--bs-font-family-lxgw), var(--bs-font-sans-serif) !important;
  --bs-font-monospace: var(--bs-font-family-lxgw-mono) !important;
  scroll-behavior: smooth;
  overscroll-behavior-y: contain;
}

footer-gradient:before {
  background: var(--bs-linear-gradient-end);
  content: "";
  display: block;
  height: 1px;
  animation: var(--animation--hue);
}

footer .currentDateTime {
  background: var(--bs-linear-gradient-start);
  width: max-content;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

footer .currentDateTime:hover {
  animation: var(--animation--hue);
}

@keyframes hue {
  from {
    filter: hue-rotate(0deg);
  }
  to {
    filter: hue-rotate(360deg);
  }
}
